#pragma once

#ifndef LOG
#define LOG(fmt,...)\
	CLog::Instance().Log(fmt,__VA_ARGS__);
#endif


class CLog
{
public:

	static CLog& Instance()
	{
		static CLog LogInstance;
		return LogInstance;
	}

private:
	CLog();
	~CLog();

	CLog(const CLog&);
	CLog& operator=(const CLog&);

private:
	class IMPL;
	IMPL* pImplement;

public:
	void Log(const char* fmt, ...);
};